/*
 * 
 * 
 * 
 */
package com.hboxs.asl.listener;

import com.hboxs.asl.entity.BaseEntity;
import com.hboxs.asl.util.MerchantUtils;
import org.springframework.stereotype.Component;
import javax.persistence.PrePersist;
import javax.persistence.PreUpdate;
import javax.servlet.ServletContext;
import java.util.Date;

/**
 * Listener - 创建日期、修改日期处理
 */
@Component
public class EntityListener {

    /**
     * servletContext
     */
    private ServletContext servletContext;

    /**
     * 保存前处理
     *
     * @param entity 基类
     */
    @PrePersist
    public void prePersist(BaseEntity entity) {
        entity.setCreateDate(new Date());
        entity.setModifyDate(new Date());
        if (entity.getMerchant() == null) {
            entity.setMerchant(MerchantUtils.getCurrentMerchant());
        }
    }

    /**
     * 更新前处理
     *
     * @param entity 基类
     */
    @PreUpdate
    public void preUpdate(BaseEntity entity) {
        entity.setModifyDate(new Date());
    }


}